home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / bbs / mfm_111b.zip / QUIT.PAS < prev    next >
Pascal/Delphi Source File  |  1992-01-07  |  3KB  |  99 lines

  1. {========================================================================}
  2. Procedure RemoveAreaList;
  3.   Var
  4.     BatFile : Text;
  5.   Begin
  6.     If MfmRunFb And AreaChanged Then
  7.     Begin
  8.       Assign(BatFile,D+'MFMRUNFB.BAT');
  9.       ReWrite(BatFile);
  10.       Write(BatFile,'FB AREA.DAT');
  11.     End;
  12.     CurrentAreaEntry := FirstAreaEntry;
  13.     While CurrentAreaEntry^.NextEntry <> NIL Do
  14.     Begin
  15.       OldAreaEntry := CurrentAreaEntry;
  16.       If MfmRunFb And AreaChanged And CurrentAreaEntry^.Changed Then
  17.       Begin
  18.         Write(BatFile,' '+CurrentAreaEntry^.Name);
  19.       End;
  20.       CurrentAreaEntry := CurrentAreaEntry^.NextEntry;
  21.       Dispose(OldAreaEntry);
  22.     End;
  23.     If MfmRunFb And AreaChanged And CurrentAreaEntry^.Changed Then
  24.     Begin
  25.       Write(BatFile,' '+CurrentAreaEntry^.Name);
  26.     End;
  27.     Dispose(CurrentAreaEntry);
  28.     If MfmRunFb And AreaChanged Then Close(BatFile);
  29.   End;
  30. {========================================================================}
  31. Procedure Quit;
  32.   Var Qc : Char;
  33.   Begin
  34.     AnsiGotoXY(25,1); AnsiClearToEOL;
  35.     Write('Are you sure? ');
  36.     Repeat
  37.       Gbx := GetInput;
  38.       Qc := Upcase(Chr(Gbx));
  39.     Until Qc In ['N','Y'];
  40.     Write(Qc);
  41.     If Qc = 'N' Then
  42.     Begin
  43.       AnsiGotoXY(25,1); AnsiClearToEOL;
  44.       Exit;
  45.     End;
  46.     If Altered Then SaveList;
  47.     RemoveAreaList;
  48.     NewTextColor(White); NewTextBackground(Black);
  49.     AnsiClearScreen;
  50.     Halt(0);
  51.   End;
  52. {========================================================================}
  53. Procedure ChangeFileDate;
  54.   Var
  55.     Cdc : Char;
  56.     Year, Month, Day, DayOfWeek, Hour, Minute, Second, Sec100 : Word;
  57.     FileToDate : File;
  58.     DateTimeString : String[17];
  59.   Begin
  60.     If CurrentEntry^.TypeOfRecord = FileRecord Then
  61.     Begin
  62.       AnsiGotoXY(25,1); AnsiClearToEOL;
  63.       Write('Change date to current, special or abort? (C/S/A) ');
  64.       Repeat
  65.         Gbx := GetInput;
  66.         Cdc := Upcase(Chr(Gbx));
  67.       Until Cdc In ['C','S','A'];
  68.       Write(Cdc);
  69.       If Cdc In ['C','S'] Then
  70.       Begin
  71.         Case Cdc Of
  72.           'C' : Begin
  73.                   GetDate(Year, Month, Day, DayOfWeek);
  74.                   GetTime(Hour, Minute, Second, Sec100);
  75.                   Date.Year := Year; Date.Month := Month; Date.Day := Day;
  76.                   Date.Hour := Hour; Date.Min := Minute; Date.Sec := Second;
  77.                   PackTime(Date, CurrentEntry^.FileDate);
  78.                 End;
  79.           'S' : Begin
  80.                   AnsiGotoXY(25,1); AnsiClearToEOL;
  81.                   DateTimeString := GetDateString(CurrentEntry^.FileDate)+' '+GetTimeString(CurrentEntry^.FileDate);
  82.                   Write(DateTimeString);
  83.                   DateTimeString := EditLine(DateTimeString,17,25,0);
  84.                   AnsiGotoXY(25,40); Write(DateTimeString);
  85.                   CurrentEntry^.FileDate := GetPackedTime(Copy(DateTimeString,1,8),Copy(DateTimeString,10,8));
  86.                 End;
  87.         End;
  88.         Assign(FileToDate,FileAreaPath+CurrentEntry^.FileName);
  89.         Reset(FileToDate);
  90.         SetFTime(FileToDate,CurrentEntry^.FileDate);
  91.         Close(FileToDate);
  92.         NextPrintEntry := CurrentEntry;
  93.         DisplayRecord(Row); DisplayCurrentLocation;
  94.       End;
  95.       AnsiGotoXY(24,80);
  96.     End;
  97.   End;
  98. {========================================================================}
  99.